1. Field of the Invention
This invention relates to an image forming device, an information processing method, and an information processing program which are capable of executing an application program.
2. Description of the Related Art
In recent years, there is an image forming device (called a multi-function peripheral) which is provided with an API (application programming interface) for making use of functions of the image forming device. The image forming device is capable of executing an application program which was developed using the API. For example, see Japanese Laid-Open Patent Application No. 2005-269619.
Generally, the functions of image forming device vary depending on the model of the image forming device. If the function difference is reflected in the API as it is, the software developers have to develop application programs for every model. To avoid this, abstract concepts of the functions of image forming device are expressed in the API, in order to reduce the model dependency of the API and facilitate the deployment of application programs, developed using the API, to two or more models of image forming device.
However, even if the function difference is absorbed in the API, the difference in the execution environment exists apart from the function difference. For example, the memory resources and CPU performance may vary depending on the model. And even if two image forming devices are of the same model, they may differ in the number of application programs installed or the presence of add-on memory.
Therefore, in order to realize the maximum performance using the limited resources of the application-incorporated system, implementation of the logics in conformity with the actual execution environment is demanded for the module which is called through the API (which module is called “service module”). A conceivable method of increasing the performance is to implement the logics in conformity with various execution environments in the same service module. However, this method has the following problems.
First, the program size of the service module is enlarged and the amount of the memory consumed at a time of loading the programs on the memory (RAM) is increased. Second, the work area (the heap area, etc.) that is not used actually is secured on the memory, which may increase the amount of the memory consumed excessively.
These problems are very important for the image forming device in which several application programs are incorporated and the available memory space is more limited than a general-purpose computer. For this reason, it is desired to provide a plurality of service modules which provide the same function with the same API in accordance with the execution environment. However, it is not desirable that the operator is caused to make a decision on which service module is suitable for the execution environment of the image forming device, which will lower the ease of operation of the image forming device.